﻿using Baidu.Push.Api.Response;
using Baidu.Push.Api.Util;
using System;
using System.Collections.Generic;
using System.Text;

namespace Baidu.Push.Api.Request
{
    /// <summary>
    /// 删除离线消息。
    /// </summary>
    public class DeleteMsgRequest : IPushRequest<DeleteMsgResponse>
    {
        /// <summary>
        /// 用户标识。不超过256字节。
        /// </summary>
        public string UserId { get; set; }

        /// <summary>
        /// 删除的消息id列表，由一个或多个msg_id组成，多个用json数组表示。如：123 或 [123, 456]。
        /// </summary>
        public string MsgIds { get; set; }

        #region IPushRequest

        public string GetApiName()
        {
            return "delete_msg";
        }

        public IDictionary<string, string> GetParameters()
        {
            PushDictionary parameters = new PushDictionary();
            parameters.Add("user_id", this.UserId);
            parameters.Add("msg_ids", this.MsgIds);
            return parameters;
        }

        public void Validate()
        {
            RequestValidator.ValidateRequired("user_id", this.UserId);
            RequestValidator.ValidateRequired("msg_ids", this.MsgIds);
        }

        #endregion
    }
}
